Low power and Lossy Networks (LLNs), e.g., sensor networks, have a myriad of applications, such as Smart Grid and Smart Cities. Various challenges are presented with LLNs, such as lossy links, low bandwidth, battery operation, low memory and/or processing capability, etc. One example routing solution to LLN challenges is a protocol called Routing Protocol for LLNs or “RPL,” which is a distance vector routing protocol that builds a Destination Oriented Directed Acyclic Graph (DODAG, or simply DAG) in addition to a set of features to bound the control traffic, support local (and slow) repair, etc. The RPL architecture provides a flexible method by which each node performs DODAG discovery, construction, and maintenance.
Currently, when a node wishes to join a DAG, it may do so without requiring permission from another node chosen as the entry point into the DAG. That is, the “child” nodes adopt their “parent” nodes without any input from the parent. Though this may not generally cause a problem, when the child node brings a heavy load with it (e.g., 1000 children of its own, or very high traffic volumes, etc.), then this autonomy can result in over-subscription and network congestion. For example, assume that a node N has two options for parent nodes, P1 and P2. At first, P1 may be selected as a better choice, and node N may bring a few orders of its own children with it to the DAG through P1. Due to the high number of children, P1 may then become congested and traffic congestion and/or collisions may begin to occur. As such, P2 may look like a better choice, and the node N may decide to use P2 instead. However, P2 would then become congested, and node N, under current schemes, would flip/flop between P1 and P2, thus causing network instability in addition to the congestion.